/*
 * @Author: SeonHu
 * @Date: 2025-09-16 14:44:19
 * @LastEditors: SeonHu
 * @LastEditTime: 2025-09-23 15:11:10
 * @FilePath: \bg-vben\src\api\iot\admin\variablestate\model\index.ts
 * @Description:
 * Copyright © 2020-2025 SANQING Corporation, All rights reserved.
 */
import { DeviceAlarmStatusEnum } from '@/enums/iot/deviceAlarmStatusEnum';
import { DeviceVaribaleStatusEnum } from '@/enums/iot/deviceVaribaleStatusEnum';
import { ValueTypeEnum } from '@/enums/iot/valueTypeEnum';

/** 输入DTO：设备变量状态 */
export interface DeviceVarStateInputDto {
  /** 编号 */
  Id: bigint | string;

  /** 设备变量编号 */
  VariableId: bigint | string;

  /** 状态 */
  Status: DeviceVaribaleStatusEnum;
  /** 消息 */
  Message: string;
  /** 值 */
  Value: string;
  /** 值类型 */
  ValueType: ValueTypeEnum;
  /** 时间戳 */
  Timestamp: Date;
  /** 警报状态 */
  AlarmStatus: DeviceAlarmStatusEnum;

  /** 创建时间 */
  CreatedTime: Date;
  /** 结束时间 */
  EndedTime?: Date | null;
}

/** 输出DTO：设备变量状态 */
export interface DeviceVarStateOutputDto extends DeviceVarStateInputDto {
  /** 设备编号 */
  DeviceId: bigint | string;
  /** 设备名称 */
  DeviceName: string;
  /** 设备变量名称 */
  VariableName: string;

  /** 耗时(毫秒) */
  Elapsed: number;
}
